//
//	ZcoModeConfigUrls.m
//	Model file generated using JSONExport: https://github.com/Ahmed-Ali/JSONExport



#import "ZcoModelConfigUrls.h"

NSString *const kZcoModeConfigUrlsBackendurl = @"backendurl";
NSString *const kZcoModeConfigUrlsUploadUrl = @"uploadUrl";
NSString *const kZcoModeConfigUrlsCcsurl = @"ccsurl";
NSString *const kZcoModeConfigUrlsDomainType = @"domainType";
NSString *const kZcoModeConfigUrlsIcbcAxaBackendUrl = @"icbcAxaBackendUrl";
NSString *const kZcoModeConfigUrlsTurnserverCredential = @"turnserverCredential";
NSString *const kZcoModeConfigUrlsTurnserverUrl = @"turnserverUrl";
NSString *const kZcoModeConfigUrlsTurnserverUsername = @"turnserverUsername";

@interface ZcoModelConfigUrls ()
@end
@implementation ZcoModelConfigUrls




/**
 * Instantiate the instance using the passed dictionary values to set the properties values
 */

-(instancetype)initWithDictionary:(NSDictionary *)dictionary
{
	self = [super init];
	if(![dictionary[kZcoModeConfigUrlsBackendurl] isKindOfClass:[NSNull class]]){
		self.backendurl = dictionary[kZcoModeConfigUrlsBackendurl];
	}
    if(![dictionary[kZcoModeConfigUrlsUploadUrl] isKindOfClass:[NSNull class]]){
        self.uploadUrl = dictionary[kZcoModeConfigUrlsUploadUrl];
    }
	if(![dictionary[kZcoModeConfigUrlsCcsurl] isKindOfClass:[NSNull class]]){
		self.ccsurl = dictionary[kZcoModeConfigUrlsCcsurl];
	}	
	if(![dictionary[kZcoModeConfigUrlsDomainType] isKindOfClass:[NSNull class]]){
		self.domainType = dictionary[kZcoModeConfigUrlsDomainType];
	}	
	if(![dictionary[kZcoModeConfigUrlsIcbcAxaBackendUrl] isKindOfClass:[NSNull class]]){
		self.icbcAxaBackendUrl = dictionary[kZcoModeConfigUrlsIcbcAxaBackendUrl];
	}	
	if(![dictionary[kZcoModeConfigUrlsTurnserverCredential] isKindOfClass:[NSNull class]]){
		self.turnserverCredential = dictionary[kZcoModeConfigUrlsTurnserverCredential];
	}	
	if(![dictionary[kZcoModeConfigUrlsTurnserverUrl] isKindOfClass:[NSNull class]]){
		self.turnserverUrl = dictionary[kZcoModeConfigUrlsTurnserverUrl];
	}	
	if(![dictionary[kZcoModeConfigUrlsTurnserverUsername] isKindOfClass:[NSNull class]]){
		self.turnserverUsername = dictionary[kZcoModeConfigUrlsTurnserverUsername];
	}	
	return self;
}


/**
 * Returns all the available property values in the form of NSDictionary object where the key is the approperiate json key and the value is the value of the corresponding property
 */
-(NSDictionary *)toDictionary
{
	NSMutableDictionary * dictionary = [NSMutableDictionary dictionary];
	if(self.backendurl != nil){
		dictionary[kZcoModeConfigUrlsBackendurl] = self.backendurl;
	}
    if(self.uploadUrl != nil){
        dictionary[kZcoModeConfigUrlsUploadUrl] = self.uploadUrl;
    }
	if(self.ccsurl != nil){
		dictionary[kZcoModeConfigUrlsCcsurl] = self.ccsurl;
	}
	if(self.domainType != nil){
		dictionary[kZcoModeConfigUrlsDomainType] = self.domainType;
	}
	if(self.icbcAxaBackendUrl != nil){
		dictionary[kZcoModeConfigUrlsIcbcAxaBackendUrl] = self.icbcAxaBackendUrl;
	}
	if(self.turnserverCredential != nil){
		dictionary[kZcoModeConfigUrlsTurnserverCredential] = self.turnserverCredential;
	}
	if(self.turnserverUrl != nil){
		dictionary[kZcoModeConfigUrlsTurnserverUrl] = self.turnserverUrl;
	}
	if(self.turnserverUsername != nil){
		dictionary[kZcoModeConfigUrlsTurnserverUsername] = self.turnserverUsername;
	}
	return dictionary;

}

/**
 * Implementation of NSCoding encoding method
 */
/**
 * Returns all the available property values in the form of NSDictionary object where the key is the approperiate json key and the value is the value of the corresponding property
 */
- (void)encodeWithCoder:(NSCoder *)aCoder
{
	if(self.backendurl != nil){
		[aCoder encodeObject:self.backendurl forKey:kZcoModeConfigUrlsBackendurl];
	}
    if(self.uploadUrl != nil){
        [aCoder encodeObject:self.uploadUrl forKey:kZcoModeConfigUrlsUploadUrl];
    }
	if(self.ccsurl != nil){
		[aCoder encodeObject:self.ccsurl forKey:kZcoModeConfigUrlsCcsurl];
	}
	if(self.domainType != nil){
		[aCoder encodeObject:self.domainType forKey:kZcoModeConfigUrlsDomainType];
	}
	if(self.icbcAxaBackendUrl != nil){
		[aCoder encodeObject:self.icbcAxaBackendUrl forKey:kZcoModeConfigUrlsIcbcAxaBackendUrl];
	}
	if(self.turnserverCredential != nil){
		[aCoder encodeObject:self.turnserverCredential forKey:kZcoModeConfigUrlsTurnserverCredential];
	}
	if(self.turnserverUrl != nil){
		[aCoder encodeObject:self.turnserverUrl forKey:kZcoModeConfigUrlsTurnserverUrl];
	}
	if(self.turnserverUsername != nil){
		[aCoder encodeObject:self.turnserverUsername forKey:kZcoModeConfigUrlsTurnserverUsername];
	}

}

/**
 * Implementation of NSCoding initWithCoder: method
 */
- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
	self = [super init];
	self.backendurl = [aDecoder decodeObjectForKey:kZcoModeConfigUrlsBackendurl];
    self.uploadUrl = [aDecoder decodeObjectForKey:kZcoModeConfigUrlsUploadUrl];
	self.ccsurl = [aDecoder decodeObjectForKey:kZcoModeConfigUrlsCcsurl];
	self.domainType = [aDecoder decodeObjectForKey:kZcoModeConfigUrlsDomainType];
	self.icbcAxaBackendUrl = [aDecoder decodeObjectForKey:kZcoModeConfigUrlsIcbcAxaBackendUrl];
	self.turnserverCredential = [aDecoder decodeObjectForKey:kZcoModeConfigUrlsTurnserverCredential];
	self.turnserverUrl = [aDecoder decodeObjectForKey:kZcoModeConfigUrlsTurnserverUrl];
	self.turnserverUsername = [aDecoder decodeObjectForKey:kZcoModeConfigUrlsTurnserverUsername];
	return self;

}

/**
 * Implementation of NSCopying copyWithZone: method
 */
- (instancetype)copyWithZone:(NSZone *)zone
{
    ZcoModelConfigUrls *copy = [ZcoModelConfigUrls new];
	copy.backendurl = [self.backendurl copy];
    copy.uploadUrl = [self.uploadUrl copy];
	copy.ccsurl = [self.ccsurl copy];
	copy.domainType = [self.domainType copy];
	copy.icbcAxaBackendUrl = [self.icbcAxaBackendUrl copy];
	copy.turnserverCredential = [self.turnserverCredential copy];
	copy.turnserverUrl = [self.turnserverUrl copy];
	copy.turnserverUsername = [self.turnserverUsername copy];

	return copy;
}
@end
